Build Qt for WPS - kingsoft-wps/qt5 GitHub Wiki

System Requirements

All desktop platforms
    CMake 3.16
    Python 2.9
    Git 2.19

Windows
    Visual Studio 2019 16.11.34(Windows 10 SDK 18362)

Linux/X11
	(Before installing the dependent libraries, You must put some 'source' URIs in your sources.list)
	sudo apt-get update 
    sudo apt-get build-dep qt5-default
    sudo apt-get install libxcb-xinerama0-dev
    sudo apt-get install libssl-dev libsqlite3-dev libxslt-dev ruby ruby-dev libjpeg-dev libpng12-dev
    sudo apt-get install uuid-dev libpulse-dev libbz2-dev libffi-dev python3-tk tk-dev libgtk-3-dev libxkbcommon-x11-dev
    clang 15.0.0

mac
    clang 12.0.0

Getting the source code

mkdir qt5
git clone https://github.com/kingsoft-wps/qt5.git -b 5.12.12-kso source
cd source
git submodule update --init qtbase qtimageformats qtsvg qttools qtmultimedia qtwinextras qtx11extras qtmacextras qtdeclarative qtgraphicaleffects qtquickcontrols2 qtxmlpatterns

Configuring and Building

mkdir build
cd build

Windows
    ..\source\configure -opensource -confirm-license -debug-and-release -force-debug-info -c++std c++14 -mp -developer-build -qt-harfbuzz -opengl dynamic -nomake examples -nomake tests -qt-zlib -openssl-runtime -no-system-proxies -D QT_MAX_CACHED_GLYPH_SIZE=100 -qtnamespace kso_qt -qtlibinfix Kso
    nmake

Linux/X11
    ../source/configure -opensource -confirm-license -release -force-debug-info -c++std c++14 -platform linux-clang-libc++ -no-xcb-xinput -no-feature-enable_new_dtags QMAKE_LFLAGS+=-Wl,--disable-new-dtags -dbus-runtime -no-vulkan -developer-build -qt-harfbuzz -opengl desktop -nomake examples -nomake tests -qt-zlib -openssl-runtime -qtnamespace kso_qt -qtlibinfix Kso
    make -j$(nproc)

Linux(aarch64)
    ../source/configure -opensource -confirm-license -release -force-debug-info -c++std c++14 -platform linux-clang-libc++ -no-xcb-xinput -no-feature-enable_new_dtags QMAKE_LFLAGS+=-Wl,--disable-new-dtags -dbus-runtime -no-vulkan -developer-build -xplatform linux-aarch64-clang++ -no-use-gold-linker -force-pkg-config -qt-harfbuzz -opengl desktop -nomake examples -nomake tests -qt-zlib -openssl-runtime -qtnamespace kso_qt -qtlibinfix Kso
    make -j$(nproc)

mac(arm64)
    ../source/configure -opensource -confirm-license -debug-and-release -force-debug-info -c++std c++14 -developer-build -qt-harfbuzz  -nomake examples -nomake tests -qt-zlib -D QT_MAX_CACHED_GLYPH_SIZE=100 QMAKE_APPLE_DEVICE_ARCHS=arm64 -qtnamespace kso_qt -qtlibinfix Kso
    make -j$(nproc)

mac(x86_64)
    ../source/configure -opensource -confirm-license -debug-and-release -force-debug-info -c++std c++14 -developer-build -qt-harfbuzz  -nomake examples -nomake tests -qt-zlib -D QT_MAX_CACHED_GLYPH_SIZE=100 QMAKE_APPLE_DEVICE_ARCHS=x86_64 -qtnamespace kso_qt -qtlibinfix Kso
    make -j$(nproc)